package service

import (
	"github.com/gin-gonic/gin"
	"mojieshi/define"
	"mojieshi/models"
	"net/http"
)

type Newdata struct {
	Id      int    `json:"id"`
	Aid     int    `json:"aid"`
	Name    string `json:"name"`
	Mid     int    `json:"mid"`
	Pid     int    `json:"pid"`
	SubName string `json:"sub_name"`
	Bid     int    `json:"bid"`    //商户ID
	Status  int    `json:"status"` //状态 1开启
	Page    int    `json:"page"`
	Limit   int    `json:"limit"`
	Type    int    `json:"type"`
}
type CateJson struct {
	ID     int    `gorm:"type:int(11); primaryKey" json:"id"`
	Aid    int    `gorm:"type:int(11);" json:"aid"` //商户id
	Pid    int    `gorm:"type:int(11);" json:"pid"` //上级分类ID
	Name   string `json:"name"`                     //分类名称
	Pic    string `json:"pic"`                      //分类图片
	Banner string `json:"banner"`                   //banner
	Type   int    `json:"type"`
}

// 获取商品栏目
func GetCate(c *gin.Context) {
	var jsonData Newdata
	err := c.ShouldBindJSON(&jsonData)
	if err != nil {
		define.Response.ResultFail(c, 10000, define.JsonDataX, "")
		return
	}
	var list []CateJson
	selectData := "m_shop_category.id,m_shop_category.pid,m_shop_category.name,m_shop_category.pic,m_shop_category.banner,m_shop_category.type"
	tx := models.DB.Table("m_shop_category").Select(selectData).Where("m_shop_category.aid=? AND m_shop_category.status=?", jsonData.Aid, 1)
	if jsonData.Pid > -1 {
		tx = tx.Where("pid=?", jsonData.Pid)
	}
	if jsonData.Id > 0 {
		tx = tx.Where("id=?", jsonData.Id)
	}
	tx = tx.Find(&list)
	if tx.Error != nil {
		define.Response.ResultFail(c, 10001, define.JsonDataX, "")
		return
	}
	c.JSON(http.StatusOK, gin.H{
		"success": true,
		"code":    0,
		"data":    list,
	})
}
